This disclosure relates generally to billing for services in a data processing system and more specifically to platform-as-a-service billing to cost process for a multi-tenant software-as-a-service environment in the data processing system.
As software-as-a-service (SaaS) usage expands in the computing industry, the importance of balancing revenue with expense becomes an increasingly difficult challenge. Usage of subscription-based services (pay as you go) typically implies a different model from a traditional software-licensing model. As a service provider incurs infrastructure costs, the service provider must ensure proper fees are in place for cost-recovery plus a profit margin to validate the business of the service provider.
Traditional software and hardware purchases were formerly well-understood and distinguishable as capital expenditures (computer, network, other tangible components) and client application implementation. However evolving cloud infrastructures are typically creating a gap between end-client application understanding with required technical adeptness for the implementation and operation of the infrastructures. Additionally, a cloud paradigm offers economy of scale by introducing multi-tenancy, in which multiple clients utilize the same infrastructure.
An accepted layering of infrastructure in a cloud system, as in layers 1 through 4, viewed from the bottom-up is presented in FIG. 1. Layer 1 comprises component supply 102 containing hardware, and software including host system and networking components. Layer 2 comprises Infrastructure-as-a-Service (IaaS) 104 representing a set of components comprising operating system components, virtualization components and additional components representative of the physical elements of the cloud. Layer 3 comprising Platform-as-a-Service (PaaS) 106 represents a set of components comprising middleware components including database servers, application servers, and application executable code. Layer 4 comprises Software-as-a-Service (SaaS) 108 representing a set of components comprising user applications, which are up and running, ready for use by the users of the respective tenants.
Traditional business accounting practices are typically correlated with layer 1 and layer 2 as capital expenditures, while layer 3 and layer 4 items are typically correlated with software licensing including perhaps additional maintenance components plus staff resources to implement and maintain.
The cloud paradigm mixes the accounting practices across multiple providers while also providing a potential economy of scale across multiple tenants within the same platform and infrastructure using the same components. The challenge, then, is to maintain within a billing model the simplicity of the SaaS product view which isolates end users from investing, installing and maintaining an information technology infrastructure, while also recognizing and reconciling ever increasing complexity, variety and multi-tenancy of the platform, infrastructure and component layers as outlined in cloud system 100 of FIG. 1.
Existing SaaS billing models are typically categorized as detailed usage tracking, pre-determined performance, time-period subscription and a combination of categories detailed usage tracking in which many utility-based approaches track resource consumption including processor (CPU) utilization, recording transaction counts, and disk usage; however, the tracking adds overhead to the provider while also adding complexity and unpredictability to the billing mechanism. Pre-determined performance is a category in which an end-user requests a certain platform performance equivalency, for example, reserving a number of CPUs, or a quantity of disk space, thus identifying a specific resource allocation (and resulting performance). A time-period subscription category defines a basic cost/time approach, which may be applicable to simple SaaS applications, but becomes increasingly difficult to support as an industry grows to include more complex and dynamic service offerings. The time-period subscription model typically results in complex application compartmentalization and billing. A combination of two (or more) categories as previously defined enables various combinations to address billing requirements.
As a result, current billing models may re-introduce information technology complexity of the infrastructure layer back to the client, or by way of over-simplification with service-provider reconciliation risks.